Benjamin Otte [Sat, 11 May 2013 11:40:38 +0000 (13:40 +0200)]
quartz: Remove unused variable
John Ralls [Sat, 11 May 2013 00:25:11 +0000 (17:25 -0700)]
John Ralls [Sat, 11 May 2013 00:21:27 +0000 (17:21 -0700)]
Remove framework initialization code
This is left over from an old effort to bundle gtk and its dependencies
into a Mac OS X Framework. The effort was more or less successful but
proved difficult to maintain and impractical to use because gtk programs
don't use the special Framework include syntax.
Matthias Clasen [Fri, 10 May 2013 17:53:31 +0000 (13:53 -0400)]
Add more window-size related tests
Colin Walters [Thu, 9 May 2013 20:48:38 +0000 (16:48 -0400)]
GtkBookmarksManager: Only save if we have data to save
Otherwise we write an empty file, which is lame.
Colin Walters [Thu, 9 May 2013 20:48:03 +0000 (16:48 -0400)]
GtkBookmarksManager: Ensure parent directory exists when saving
Otherwise we fail when the user doesn't have ~/.config yet.
Benjamin Otte [Thu, 9 May 2013 17:05:43 +0000 (19:05 +0200)]
widget: Remove unused variable
Benjamin Otte [Thu, 9 May 2013 16:57:34 +0000 (18:57 +0200)]
build: remove --disable-rebuilds
It's unused and was only useful when perl wasn't installed. But perl is
a dependency of glib these days, so it's useless.
Colin Walters [Thu, 9 May 2013 16:38:08 +0000 (18:38 +0200)]
Add --enable-installed-tests, use it for reftests
See https://live.gnome.org/GnomeGoals/InstalledTests
https://bugzilla.gnome.org/show_bug.cgi?id=699601
Benjamin Otte [Thu, 9 May 2013 16:34:49 +0000 (18:34 +0200)]
reftests: Automatically recurse into directories
Benjamin Otte [Thu, 9 May 2013 15:06:16 +0000 (17:06 +0200)]
configure: Don't check for indent
indent was used in genmarshal.pl, which was removed in 2002 when gobject
was created.
Colin Walters [Thu, 9 May 2013 14:17:32 +0000 (16:17 +0200)]
reftests: Add a --directory/-d option
This sets the directory we chdir() to, so we can use relative filenames
in ui files.
Some properties like to take filenames...
Colin Walters [Tue, 7 May 2013 12:52:35 +0000 (14:52 +0200)]
reftests: Split out shell scripts from tests
They are just utilities to create tests, don't dump them in with the
tests.
This is in preparation for installed tests.
Colin Walters [Tue, 7 May 2013 12:48:36 +0000 (14:48 +0200)]
reftests: Use $(NULL) in the Makefile
Matthias Clasen [Thu, 9 May 2013 16:06:05 +0000 (12:06 -0400)]
Remove gtk_widget_size_allocate from gtk_menu_popup_for_device
GtkMenu calls gtk_widget_size_allocate on its GtkWindow during
gtk_menu_popup_for_device if the menu has not been realised. This can cause the
allocation of the GtkWindow and the size of the GdkWindow to become out of sync
because a top level GtkWindow does not attempt to re-size the GdkWindow when
its allocation is set.
https://bugzilla.gnome.org/show_bug.cgi?id=695120
Ryan Lortie [Wed, 8 May 2013 12:15:40 +0000 (08:15 -0400)]
GtkCheckMenuItem: remove an unused boolean field
always_show_toggle was always set to TRUE in _init() and never changed
from anywhere else. Remove it and remove the if() statements based on
it.
https://bugzilla.gnome.org/show_bug.cgi?id=699929
Matthias Clasen [Thu, 9 May 2013 16:02:59 +0000 (12:02 -0400)]
Fix a typo
Pointed out in bug
https://bugzilla.gnome.org/show_bug.cgi?id=698051
Marek Kasik [Mon, 6 May 2013 11:43:18 +0000 (13:43 +0200)]
printing: Don't crash when printer-state-message not provided
Check whether "printer-state-message" was returned before its
usage.
https://bugzilla.gnome.org/show_bug.cgi?id=699750
Stefan Sauer [Wed, 8 May 2013 20:00:30 +0000 (22:00 +0200)]
label: fix return value type for _draw()
Change from gint to gboolean.
Matthias Clasen [Wed, 8 May 2013 14:19:08 +0000 (10:19 -0400)]
Make key themes work again
This was inadvertedly broken in commit
44ba5d253f5bbda2d5a42c58218ad2aa318256f4.
Thanks to Matthew Francis for tracking this down and providing
a fix in https://bugzilla.gnome.org/show_bug.cgi?id=699901
Alexander Larsson [Wed, 8 May 2013 13:57:58 +0000 (15:57 +0200)]
gdkwindow: Don't enforce a native window for a custom visual
In the ancient X days you could have Xservers that had multiple active windows, like
one truecolor and one 8bit palette. Then most apps ran in 8bpp but a single window
would use truecolor. This is done by specifying different visuals for the windows.
To make this work we ensured that a window with a visual different from its parent
gets a native subwindow, so that X can tell the hardware to do its magic.
These days the only real time we get two different visual is when one is a rgba visual
and the other is not. So, the code to check this doesn't really do anything but
get in the way when someone accidentally manages to not get a rgba visual on
a child window (see
bb7054b508bfe41eb3e7f27496d4c2eb3a2b2f7a). So, to avoid
such errors we just remove the "different visual than parent" check.
Alexander Larsson [Wed, 8 May 2013 13:51:00 +0000 (15:51 +0200)]
overlay/paned: Ensure we set the right visual on windows
This was always "needed", but the problems with not doing it
now are worse, since any CSD window will have a nonstandard
rgba visual.
Jiro Matsuzawa [Wed, 8 May 2013 12:16:47 +0000 (21:16 +0900)]
l10n: Update Japanese translation
Rico Tzschichholz [Tue, 7 May 2013 15:34:32 +0000 (17:34 +0200)]
Remove abi checking scripts (2)
In addition to
019ad96479a9bafbf2948aa240dd57e2229f5985
Alexander Larsson [Tue, 7 May 2013 12:27:17 +0000 (14:27 +0200)]
GtkPixelCache: Free cache if not used in 20 seconds
No need to keep a performance enhancing cache around if its not
actually in use.
Alexander Larsson [Tue, 7 May 2013 09:46:50 +0000 (11:46 +0200)]
gdkwindow: Expose all native windows
We need to send exposes for all native windows, even the ones
without an exposure mask set, because otherwise non-native
children of the native window with an exposure mask will
not be drawn.
Alexander Larsson [Tue, 7 May 2013 07:28:30 +0000 (09:28 +0200)]
GtkStack: Fix double-draw in crossfade
We should only draw the cross-fade on the bin window, not doing this
was causing us to draw it multiple times using ADD which resulted
in weird colors.
Alexander Larsson [Fri, 3 May 2013 08:44:44 +0000 (10:44 +0200)]
gdkwindow: Avoid some unnecessary typechecks
This removes the typechecks in GDK_WINDOW_TYPE and GDK_WINDOW_DESTROYED. These
are only used internally in gdkwindow.c and gdkdisplay.c anyway, and these
functions check for typesafety of arguments on function entry.
Alexander Larsson [Fri, 3 May 2013 08:42:40 +0000 (10:42 +0200)]
GtkWidget: Use gdk_window_get_children_for_user_data
This makes iterating over the children a lot faster, as we're
not doing lots of intra-library calls and type checks. We're still
in some sence O(n^2) since we iterate over each child window for each
widget, but the profiles look much better.
Alexander Larsson [Fri, 3 May 2013 08:39:24 +0000 (10:39 +0200)]
Add gdk_window_get_children_with_user_data
This function returns all the children that has a specific user_data set.
This is used a lot in the new GtkWidget drawing code and doing
it this way is faster than getting every child and calling get_user_data
on each (which was a non-neglible part of the profiles). Additionally it
also allows use to use some kind of hashtable to make this operation even
faster if needed in the future.
Alexander Larsson [Tue, 30 Apr 2013 19:34:22 +0000 (21:34 +0200)]
GtkTreeView: port to PixelCache
We register an invalidate handler on the bin window to get told
of child widget invalidations, although we manually need to discard
invalidates from the scroll operation.
Additionally we invalidate all of the pixel cache whenever
the TreeView itself is queue_draw()n to handle e.g. style (bg)
changes, or changes due to model changes causing queue_draw() in
the tree view.
Alexander Larsson [Sat, 20 Apr 2013 23:54:05 +0000 (01:54 +0200)]
Make GtkViewport use GtkPixelCache
Since gdk_window_move() no longer uses XCopyArea all scrolling
now re-renders everything in the window. To get performance
back we use a GtkPixelCache to store already drawn children,
and we when we expose the viewport we just blit the
offscreen to the right place.
Alexander Larsson [Thu, 2 May 2013 09:47:06 +0000 (11:47 +0200)]
GtkPixelCache: Add debug feature to track redraws
Each time we redraw we tint it in a different color so that
you can see which regions are redrawn.
Alexander Larsson [Thu, 2 May 2013 14:23:42 +0000 (16:23 +0200)]
Add GtkPixelCache
GtkPixelCache is a helper utility that lets you implement
faster scrolling of a viewport of a canvas by using an
offscreen pixmap cache.
You call _gtk_pixel_cache_draw with a callback function that
does the drawing, and additionally you specify the size and the
position of the viewport in the widget, and the position and size
of the canvas wrt the viewport. The callback will be called to
draw on an offscreen surface, and the surface will be drawn
on the window. The next time you do the same, any already drawn
pieces of the surface are re-used from the offscreen and need
not be rendered again.
If things inside the canvas change you need to call
_gtk_pixel_cache_invalidate to tell the cache about this.
Some other details:
* The offscreen surface is generally a bit larger than
the viewport, so scrolling a small amount can often
be done without redrawing children.
* If the canvas is not larger than the viewport no
offscreen surface is used.
GtkPixelCache: Make sure we always copy using SOURCE
We were using OVER for the first copy (from source to group surface.
GtkPixelCache: Fix x/y typos
GtkPixelCache: Allow NULL for invalidate region
gtkpixelcache: Use CONTENT_COLOR for solid bg windows
Alexander Larsson [Thu, 2 May 2013 09:08:10 +0000 (11:08 +0200)]
GtkWidget: Add a vfunc for queue_draw_region
Since widgets now cache drawn state we allow them to override
queue_draw_region to detect when some region of the widget
should be redrawn. For instance, if a widget draws the
background color in a pixel cache we will need to invalidate
that when the style context changes which queues a repaint.
Alexander Larsson [Sat, 20 Apr 2013 23:27:07 +0000 (01:27 +0200)]
Add gdk_window_set_invalidate_handler
This lets you register callbacks for when child widgets invalidate
areas of the window read it and/or change it.
For instance, this lets you do rendering effects and keeping offscreen
caches uptodate.
Alexander Larsson [Mon, 29 Apr 2013 19:49:12 +0000 (21:49 +0200)]
wayland: Don't use double buffers for wayland when not needed
If we got the release event for the last buffer then we're
fine with writing directly to the window surface, as wayland
will not be looing at it. This saves us from allocating
and copying more data.
Alexander Larsson [Mon, 29 Apr 2013 16:40:10 +0000 (18:40 +0200)]
gdkwindow: Make GdkPaintable normal GdkWindowImpl vfuncs
There is no need for this to be a separate interface, its just looking
weird.
Alexander Larsson [Mon, 29 Apr 2013 14:25:55 +0000 (16:25 +0200)]
gdkwindow: Change how paints work
First of all, we now only do paints on native windows, as there is
really no reason anymore to do it for subwindows. Secondly, we
keep track of the paints even for GtkPaintable windows, but for
that case we don't create the offscreen surface, but rather
assume the windowing system does the backing store.
Alexander Larsson [Thu, 25 Apr 2013 12:00:18 +0000 (14:00 +0200)]
GtkWindow: Move cairo_save/restore from marshaller
We do the save/restore when emitting ::draw rather than in a custom
marshaller, as this saves an extra stack frame, which is helpfull now
that we do painting fully recursive. This is also likely to save a few
cycles.
Alexander Larsson [Wed, 24 Apr 2013 20:21:06 +0000 (22:21 +0200)]
gdkframeclock: Loop the layout phase if needed
In the case where the layout phase queued a layout we don't
want to progress to the paint phase with invalid allocations, so
we loop the layout. This shouldn't normally happen, but it may
happen in some edge cases like if user/wm resizes clash with
natural window size changes from a gtk widget. This should not
generally loop though, so we detect this after 4 cycles and
print a warning.
This was detected because of an issue in GtkWindow where it
seems to incorrectly handle the case of a user interactive resize.
It seems gtk_window_move_resize() believes that configure_request_size_changed
changed due to hitting some corner case so it calls
gtk_widget_queue_resize_no_redraw(), marking the window as need_alloc
after the layout phase. This commit fixes the issue, but we should
also look into if we can fix that.
Alexander Larsson [Fri, 19 Apr 2013 15:40:58 +0000 (17:40 +0200)]
gdkwindow: Simplify invalidation
Now that all windows are non-opaque we can simplify the invalidation
a lot. There is no need to clip the invalidate area to child regions,
because we will always redraw everything under all the children.
We only have to handle native childen specially.
Alexander Larsson [Wed, 17 Apr 2013 21:06:07 +0000 (23:06 +0200)]
gdkwindow: Remove implicit paints
We now only do one expose event per native window, so there will
only be one begin/end_paint() call. This means all the work with
implicit paints to combine the paints on a single double buffer
surface is unnecessary, so we can just delete it.
Alexander Larsson [Wed, 17 Apr 2013 18:55:26 +0000 (20:55 +0200)]
Only handle exposes on native window, propagate to children via draw()
We now consider non-native windows non-opaque, which means any invalid
area in a subwindow will also be invalid all the way up to the nearest
native windows. We take advantage of this by ignoring all expose events
on non-native windows (which typically means just the toplevel) and instead
propagating down the draw() calls to children directly via
gtk_container_propagate_draw.
This is nice as it means we always draw widgets the same way, and it
will let us do some interesting ways in the future.
We also clean up the GtkWidget opacity handling as we can now always
rely on the draing happening via cairo.
We can't really just draw by walking down the widget hierarchy, as
this doesn't get the clipping right (so e.g. widgets doing cairo_paint
may draw outside the expected gdkwindow subarea) nor does it let
us paint window backgrounds.
So, we now do multiple draws for each widget, once for each GdkWindow,
although we still do it on the same base cairo_t that we get for the
toplevel native window. The difference is only the clipping, the rendering
order, and which other widgets we propagate into.
We also collect all the windows of a widget so we can expose them inside
the same opacity group if needed.
NOTE: This change neuters gtk_widget_set_double_buffered for
widgets without native windows. Its impossible to disable
the double buffering in this model.
Alexander Larsson [Wed, 17 Apr 2013 15:10:18 +0000 (17:10 +0200)]
gdkwindow: Remove ancient USE_BACKING_STORE define
This is always set anyway.
Alexander Larsson [Wed, 17 Apr 2013 15:05:49 +0000 (17:05 +0200)]
gdkwindow: Simplify clip region calculations
Since we no longer make overlapping siblings affect clip_region we
can further simplify the clip region calculation and updating.
Alexander Larsson [Wed, 17 Apr 2013 14:36:52 +0000 (16:36 +0200)]
gdkwindow: Simplify clip region handling
Since we dropped the move region optimization there is really no need
to try carefully keep track of opaque non-overlapped regions, as we
don't use this information to trigger the optimization anymore.
So, by assuming that all windows are non-opaque we can vastly simplify
the clip region stuff. First of all, we don't need clip_region_with_children,
as each window will need to draw under all children anyway. Secondly, we
don't remove overlapping sibling areas from clip_region, as these are
all non-opaque anyway and we need to draw under them
Finally, we don't need to track the layered region anymore as its
essentially unused. The few times something like it is needed we can
compute it explicitly.
For the case of native children of widgets we may cause a repaint
under native windows that are guaranteed to be opaque, but these
will be clipped by the native child anyway.
Alexander Larsson [Wed, 17 Apr 2013 12:15:51 +0000 (14:15 +0200)]
gdkwindow: Remove translate vfunc
This is not used anymore
Alexander Larsson [Wed, 17 Apr 2013 12:02:32 +0000 (14:02 +0200)]
gdkwindow: Remove outstanding_moves stuff
Since we now never move regions directly on the window we can
remove all the stuff that track outstanding moves and flushes then.
Alexander Larsson [Wed, 17 Apr 2013 11:13:46 +0000 (13:13 +0200)]
gdk: Don't ever do copies from the window
This basically neuters gdk_window_move_region, gdk_window_scroll
and gdk_window_move_resize, in that they now never copy any bits but
just invalidate the source and destination regions. This is a performance
loss, but the hope is that the simplifications it later allows will let
us recover this performance loss (which mainly affects scrolling).
Matthias Clasen [Tue, 7 May 2013 12:48:01 +0000 (08:48 -0400)]
Add more test cases
These are taken from
https://bugzilla.gnome.org/show_bug.cgi?id=696882
Benjamin Otte [Tue, 7 May 2013 12:03:52 +0000 (14:03 +0200)]
imcontexts: Include config.h first
Benjamin Otte [Tue, 7 May 2013 11:46:51 +0000 (13:46 +0200)]
reftests: Make window size not influence test
The test is supposed to definitely wrap, make sure it does.
Benjamin Otte [Tue, 7 May 2013 11:46:15 +0000 (13:46 +0200)]
checkbutton: Implement height-for-width
Benjamin Otte [Tue, 7 May 2013 11:18:00 +0000 (13:18 +0200)]
checkbutton: Split out a common function
Makes size request / allocation code easier to understand.
Kalev Lember [Tue, 7 May 2013 11:41:21 +0000 (13:41 +0200)]
GtkPlacesSidebar: Fix an uninitialized variable in the error code path
Initialize it to NULL early so that we won't try to free an
uninitialized variable when handling an error.
Kalev Lember [Tue, 2 Apr 2013 22:35:27 +0000 (00:35 +0200)]
gtksizegroup: Add explicit braces to avoid dangling else
Otherwise the else after the for loop becomes attached to the wrong if.
Matthias Clasen [Tue, 7 May 2013 10:11:42 +0000 (06:11 -0400)]
Add a testcase for the dnd window breakage
Matthias Clasen [Tue, 7 May 2013 10:00:13 +0000 (06:00 -0400)]
Remove abi checking scripts
The exported symbols are now controlled explicitly from the headers,
no need to double-check.
Yaron Shahrabani [Tue, 7 May 2013 08:25:25 +0000 (11:25 +0300)]
Updated Hebrew translation.
Alexander Larsson [Mon, 6 May 2013 15:48:46 +0000 (17:48 +0200)]
GtkEventBox: Correctly handle height for width
We need to pass on the width to the child.
https://bugzilla.gnome.org/show_bug.cgi?id=699140
Alexander Larsson [Mon, 6 May 2013 14:05:08 +0000 (16:05 +0200)]
css shadow: Add extra slop to the blur clipping
Turns out our blurring function isn't very nice, it has a lot
of energy past the blur radius, so clipping at exactly the
blur radius causes ugly gradient stops. This just adds 4
extra pixels of slop, which makes this better in most cases.
Alexander Larsson [Mon, 6 May 2013 11:06:13 +0000 (13:06 +0200)]
css shadows: Split up rendering of shadows
We split up the rendering of blurred shadows into 9 parts, the
corners, the sides and the rest. This lets us only blur the "blurry"
part, and it lets us completely skip blurry parts that are fully
clipped.
Alexander Larsson [Mon, 6 May 2013 10:34:09 +0000 (12:34 +0200)]
css shadows: Exit early if clip is empty
Alexander Larsson [Mon, 6 May 2013 07:48:10 +0000 (09:48 +0200)]
GtkCssShadowValue: Break out the shadow rendering code
This makes it easier to call it multiple times which we
want to do later.
Alexander Larsson [Fri, 3 May 2013 10:50:18 +0000 (12:50 +0200)]
css: Clip outset box-shadow to outside of box
As per css3-background 7.2. Drop Shadows: the ‘box-shadow’ property:
An outer box-shadow casts a shadow as if the border-box of the element
were opaque. The shadow is drawn outside the border edge only: it
is clipped inside the border-box of the element.
Also verified vs firefox behaviour.
Stef Walter [Mon, 6 May 2013 09:03:21 +0000 (11:03 +0200)]
gtksettings: Fix loading of uint settings
https://bugzilla.gnome.org/show_bug.cgi?id=699739
Matthias Clasen [Sun, 5 May 2013 18:27:25 +0000 (14:27 -0400)]
Remove regex-based export control
All export control is now happening through annotations
in the headers.
Matthias Clasen [Sun, 5 May 2013 18:24:26 +0000 (14:24 -0400)]
Add visibility flags in gtk/a11y
Matthias Clasen [Wed, 20 Mar 2013 22:17:00 +0000 (18:17 -0400)]
New visibility handling in gtk
Matthias Clasen [Fri, 15 Mar 2013 10:35:30 +0000 (06:35 -0400)]
New visibility handling in gdk
Change the visibility handling to be the same way we do it in
GLib now. We pass -fvisibility=hidden to gcc and decorate public
functions with __attribute__((visibility("default"))).
This commit just does this for GDK, GTK+ will follow later.
Matthias Clasen [Sun, 5 May 2013 14:31:08 +0000 (10:31 -0400)]
Ignore deprecations where needed
There are a few places where we are still using deprecated
API internally - ignore deprecations around these uses.
Matthias Clasen [Sun, 5 May 2013 14:28:54 +0000 (10:28 -0400)]
Fix up headerless symbols
Some symbols are exported from GTK+, but do not appear in any
headers. For these, use _GDK_EXTERN in the source file to make
sure they are exported.
Matthias Clasen [Sun, 5 May 2013 18:24:55 +0000 (14:24 -0400)]
Add annotations in a11y headers
Matthias Clasen [Wed, 20 Mar 2013 22:17:32 +0000 (18:17 -0400)]
Add annotations to gtk headers
Add annotations to all exported functions in GTK+ headers.
Matthias Clasen [Wed, 20 Mar 2013 18:38:59 +0000 (14:38 -0400)]
gtk: Use GDK_AVAILABLE_IN_ALL for generated enum types
glib-mkenums is not currently clever enough to know which version an
enum type was added in, so just mark all the _get_type() functions as
available in all versions.
Matthias Clasen [Sun, 5 May 2013 15:32:20 +0000 (11:32 -0400)]
Just ignore deprecations inside deprecated/
Not worth tracking uses of deprecated API individually here.
Matthias Clasen [Fri, 15 Mar 2013 12:30:23 +0000 (08:30 -0400)]
Use _GDK_EXTERN when defining the decorators
Make all GDK_DEPRECATED and GDK_AVAILABLE macros use a
new _GDK_EXTERN macro. _GDK_EXTERN defaults to just 'extern'
but a subsequent commit will add visibility handling to it
while building GTK+.
Matthias Clasen [Fri, 15 Mar 2013 09:58:39 +0000 (05:58 -0400)]
Add GDK_AVAILABLE_IN_ALL annotations in gdk
This is in preparation to modernizing our handing
of exported symbols.
Matthias Clasen [Fri, 15 Mar 2013 10:50:34 +0000 (06:50 -0400)]
Use GDK_AVAILABLE_IN_ALL for generated enum types
glib-mkenums is not currently clever enough to know which version an
enum type was added in, so just mark all the _get_type() functions as
available in all versions.
Matthias Clasen [Fri, 15 Mar 2013 01:22:22 +0000 (21:22 -0400)]
gdkversionmacros.h: add GDK_AVAILABLE_IN_ALL
Add a macro to declare that a particular symbol is available in all
versions of GTK+.
All newly-added symbols should have proper version macros (like
GDK_AVAILABLE_IN_3_4).
Matthias Clasen [Sun, 5 May 2013 16:16:51 +0000 (12:16 -0400)]
gtk-demo: Include config.h first
If config.h is included after gdkversionmacros.h, _GDK_EXTERN
gets redefined and cpp doesn't like that.
Matthias Clasen [Sun, 5 May 2013 16:16:16 +0000 (12:16 -0400)]
gtk-demo: Don't include config.h needlessly
It is not needed here.
Matthias Clasen [Sun, 5 May 2013 18:26:33 +0000 (14:26 -0400)]
Remove an unused private function
_gtk_text_layout_get_line_xrange was not exported and not used
inside GTK+ either.
Victor Ibragimov [Sun, 5 May 2013 14:22:27 +0000 (19:22 +0500)]
Updated Tajik Translation
Matthias Clasen [Sat, 4 May 2013 23:21:56 +0000 (19:21 -0400)]
Always use gint for border_width
This avoids an evil trap when doing MAX (..., ... - 2 * border_width)
and the expression on the right gets promoted to unsigned, instead
of going negative as you would expect.
https://bugzilla.gnome.org/show_bug.cgi?id=699633
Ignacio Casal Quinteiro [Sat, 4 May 2013 20:51:37 +0000 (22:51 +0200)]
window: handle titlebar property for the buildable interface
Matthias Clasen [Sun, 28 Apr 2013 21:50:01 +0000 (17:50 -0400)]
Some window size test tweaks
Draw a checkerboard pattern, and add an interactive mode that
waits for events before moving on. This makes it easier to see
when a size is wrong.
Matthias Clasen [Sat, 27 Apr 2013 22:01:19 +0000 (18:01 -0400)]
Add some more GtkWindow tests
These tests check that a toplevel window ends up with the expected
size after setting default sizes or resizing. It currently passes
on X, but fails with client-side decorations under X and Wayland.
Matthias Clasen [Sat, 4 May 2013 20:11:00 +0000 (16:11 -0400)]
Prevent criticals when initializing a Wayland display
When we call _gdk_wayland_display_load_cursor_theme during
the initial opening of the first display, gdk_setting_get does
not work yet, since it relies on the default display/screen
being set, which only happens after open returns.
Instead, just use the screen of this display.
Matthias Clasen [Sat, 4 May 2013 02:29:20 +0000 (22:29 -0400)]
Fix setting child properties
This was broken in
e9f182e37a7f6e2dc339054841a3c9f930f573ed
Matthias Clasen [Sat, 4 May 2013 00:03:12 +0000 (20:03 -0400)]
Don't clear data on a NULL screen
This makes GtkSettings survive the object finalize test.
John Ralls [Fri, 3 May 2013 23:41:49 +0000 (16:41 -0700)]
Bug 606378 - gdk doesn't handle non-main thread rendering on Quartz
Document that the restrictions on Win32 apply also to Quartz.
Stefan Sauer [Fri, 3 May 2013 18:39:24 +0000 (20:39 +0200)]
widget: fix two typos in api-docs
Colin Walters [Thu, 2 May 2013 22:32:07 +0000 (18:32 -0400)]
reftests: Don't use spaces in Makefile first line
Otherwise Emacs makes one's life miserable.
Guillaume Desmottes [Thu, 25 Apr 2013 14:30:12 +0000 (16:30 +0200)]
treemodelsort: destroy the root only if we are removing the latest row of the level
GtkIconView doesn't ref the rows of the model so we have to make sure that a
level is actually empty before destroying it.
https://bugzilla.gnome.org/show_bug.cgi?id=698846
Matthias Clasen [Fri, 3 May 2013 01:36:45 +0000 (21:36 -0400)]
Make it possible to finalize theming engines
This was broken since forever. Good that we never finalize
theme engines...
Matthias Clasen [Fri, 3 May 2013 00:43:34 +0000 (20:43 -0400)]
GtkInvisible behaves like GtkWindow
As far as refcounting is concerned, invisibles are like
windows: you have to destroy them.
Matthias Clasen [Fri, 3 May 2013 00:42:24 +0000 (20:42 -0400)]
Only check for finalization after a grace period
This makes the file chooser pass this test
Matthias Clasen [Fri, 3 May 2013 00:00:49 +0000 (20:00 -0400)]
Prevent a segfault if GtkAppChooserDialog gets disposed early
If the async call is finished after the dialog is already disposed,
bad things happen. Prevent that by marking the dialog as dismissed
in this case.